package com.ctshk.rpc.scenic.dto;

import com.ctshk.rpc.scenic.req.ScenicResourceStrategyReq;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
public class ScenicResourceDetailDTO implements Serializable {

    @ApiModelProperty(value = "所属城市")
    private Long cityId;

    @ApiModelProperty(value = "城市名称")
    private String cityName;

    @ApiModelProperty(value = "景点ID")
    private Long scenicId;

    @ApiModelProperty(value = "景点名称")
    private String scenicName;

    @ApiModelProperty(value = "是否允许自由行打包(1 允许,2 不允许,3 只限打包)")
    private Integer allowPackage;

    @ApiModelProperty(value = "产品名称")
    private String name;

    @ApiModelProperty(value = "供应商")
    private Long supplierId;

    @ApiModelProperty(value = "供应商名称")
    private String supplierName;

    @ApiModelProperty(value = "负责人ID")
    private Long chargeUserId;

    @ApiModelProperty(value = "负责人名称")
    private String chargeUser;

    @ApiModelProperty(value = "适用人群ID")
    private Long intendedUserId;

    @ApiModelProperty(value = "适用人群")
    private String intendedUser;

    @ApiModelProperty(value = "使用有效期类型(1 固定天数 ,2 指定日期区间)")
    private Integer vaildType;

    @ApiModelProperty(value = "几日有效")
    private Double vaildDay;

    @ApiModelProperty(value = "有效期起始")
    private LocalDateTime vaildDayBegin;

    @ApiModelProperty(value = "有效期截至")
    private LocalDateTime vaildDayEnd;

    @ApiModelProperty(value = "门票主题")
    private String themeJson;

    @ApiModelProperty(value = "产品图片JSON")
    private String photosJson;

    @ApiModelProperty(value = "产品介绍")
    private String productIntroduces;

    @ApiModelProperty(value = "入园须知")
    private String admissionNotes;

    @ApiModelProperty(value = "开售时间类型(1 立即开售,2 定时开售)")
    private Integer startSaleTimeType;

    @ApiModelProperty(value ="开售时间起始")
    private LocalDateTime startSaleTimeBegin;

    @ApiModelProperty(value = "开售时间结束")
    private LocalDateTime startSaleTimeEnd;

    @ApiModelProperty(value = "是否需要二次确认")
    private Integer needDoubleCheck;

    @ApiModelProperty(value = "预订退改须知")
    private String customerNotice;

    @ApiModelProperty(value = "预订后是否可退,0 不展示信息,1 一经预订，不退不改")
    private Integer allowRefund;

    @ApiModelProperty(value = "预订服务费类型")
    private Integer reserveChargeType;

    @ApiModelProperty(value = "预订服务费")
    private BigDecimal reserveCharge;

    @ApiModelProperty(value = "中旅退改费用类型")
    private Integer ctsChargeType;

    @ApiModelProperty(value = "中旅退改服务费")
    private BigDecimal ctsCharge;

    @ApiModelProperty(value = "是否需要填写证件信息")
    private Integer needInfo;

    @ApiModelProperty(value = "1电子票/2纸质票")
    private Integer ticketType;

    @ApiModelProperty(value = "1电邮/2短信/3实体票/4atb/5换票单")
    private String fetchWay;

    @ApiModelProperty(value = "使用方式")
    private Integer usageMode;

    @ApiModelProperty(value = "审批状态")
    private Integer approvalStatus;

    @ApiModelProperty(value = "预订确认(1 立即确认,2 二次确认)")
    private Integer bookConfirm;

    @ApiModelProperty(value = "取消政策(1 限时取消,2 不退不改)")
    private Integer cancelPolicy;

    @ApiModelProperty(value = "产品类型")
    private String productType;
    @ApiModelProperty(value = "产品类型名称")
    private String productCode;
    @ApiModelProperty(value = "产品类型名称")
    private String productTypeName;



    private List<ScenicResourceStrategyReq> scenicResourceStrategy;


}
